home *** CD-ROM | disk | FTP | other *** search
- Path: ifi.uio.no!usenet
- From: ludvigp@ifi.uio.no (Ludvig Pedersen)
- Newsgroups: comp.sys.amiga.programmer
- Subject: Re: Qblit intereference again
- Date: 6 Mar 1996 18:52:28 GMT
- Organization: Dept. of Informatics, University of Oslo, Norway
- Message-ID: <1073.6639T512T2492@ifi.uio.no>
- References: <4gb6om$104@sunsystem5.informatik.tu-muenchen.de>
- <4gg00a$gqm@oreig.uji.es> <4gj1vq$f9c@sunsystem5.informatik.tu-muenchen.de>
- <871.6628T745T276@ifi.uio.no> <4h4djq$le8@sunsystem5.informatik.tu-muenchen.de>
- <598.6635T987T401@ifi.uio.no> <4hhfve$4jf@sunsystem5.informatik.tu-muenchen.de>
- NNTP-Posting-Host: gymir.ifi.uio.no
- X-Newsreader: THOR 2.22 (Amiga;TCP/IP)
-
- >When I read about "do not busywait" I knew it was the bug before testing
- >out ;) Indeed the picviewer it interfered with set down his pri when doing
- >windowupddate (to not slow down normal tasks).
- >mhm I hope OwnBlitter() will not do busywait ? Else lockup, too.
-
- OwnBlitter will put the task in wait-state.
-
- But you have to use WaitBlit() before blitting and this call do wait for the
- blitter with the CPU.
-
- >|> with the CPU.
- >|> Like in C:
- >|> while(!BlitterIsDone);
- >|> or in ASM:
- >|> .Wait:
- >|> tst BlitterIsDone
- >|> beq .Wait
- >|> That is NO-NO. :-)
- >yes! I agree! :)
- >My solution is:
-
- >wait:
- > tst bltbsy
- > beq ok
- > WaitTOF();
- > bra wait
- >ok:
- >normally there's no wait at all because you choose number of
- >blitterpasses so blitter won't brake.
- >The check is just for safety, and the lock showed that checking IS
- >nessesary (sometimes, very seldom, if interference from other tasks).
-
- This loop will work, but I recommend to use Wait() instead.
-
-
- <sb>Ludde - Amiga Demo Coder
- <sb>Virtual Reality & Official Be developer
- <sb>ludvigp@ifi.uio.no
-
-